package br.com.sistema.controllers;

import java.util.List;

import br.com.sistema.dao.PaisDao;
import br.com.sistema.models.Pais;
import br.com.sistema.util.Mensagem;
import br.com.sistema.views.IView;
import br.com.sistema.views.pais.PaisView;

import com.vaadin.ui.Button.ClickEvent;
import com.vaadin.ui.Button.ClickListener;

public class PaisController extends Controller implements IController{

	private PaisView view;
	
	public PaisController(String nome) {
		
		this.nome = nome;
		
		view = new PaisView(this);
		
		view.getPesquisa().addClickListener(this.pesquisaClickListener);
		
	}

	@SuppressWarnings("serial")
	private ClickListener pesquisaClickListener = new ClickListener() {
		@Override
		public void buttonClick(ClickEvent event) {
			pesquisaAction();
		}
	};
	
	@Override
	public IView getView() {
		return this.view;
	}

	@Override
	void pesquisaAction() {
		
		try {
			
			Pais pais = new Pais();
			pais.setPaisnome(view.getPaisnome().getValue());
			pais.setPaiscodnum(view.getPaiscodnum().getValue());
			
			PaisDao dao = new PaisDao();
			List<Pais> list = dao.getByCriteria(pais);
			
			if(list.size() > 0){
			
				view.getTable().removeAllItems();
				//remove todos os itens do container para que seja inseridos os novos
				view.getBeanContainer().removeAllItems();
				// percorre a lista e adiciona os itens no container
				for (Pais o : list){
					view.getBeanContainer().addItem(o.getPaisid(), o);
				}
				
			}else{
				Mensagem.tray(Mensagem.SEM_RESULTADO);
			}
			
			
		} catch (Exception e) {
			Mensagem.error(e.getMessage());
		}
		
	}

	@Override
	void abreManter() {
		// TODO Auto-generated method stub
		
	}

	@Override
	void manterAction() {
		// TODO Auto-generated method stub
		
	}

	@Override
	void removeAction() {
		// TODO Auto-generated method stub
		
	}

}
